package br.unifor.bd.main;

import java.io.IOException;
import java.util.Scanner;
import java.util.Vector;

import br.unifor.bd.io.LeitorDeTransacoes;
import br.unifor.bd.protocol.Escalonador;
import br.unifor.bd.protocol.Operacao;

public class Main {
	public static void main(String[] args) throws IOException, InterruptedException {
		Scanner scanner = new Scanner(System.in);
		
		LeitorDeTransacoes leitor = new LeitorDeTransacoes("resources");
		Vector<Operacao> operacoes = leitor.listarTodasOperacoes();
		
		System.out.println("Operacoes enviadas para o escalonador: " + operacoes);
		escreveMenu();
		System.out.print("Selecione o tipo de prevencao: ");
		int tipoDePrevencao = scanner.nextInt();
		
		Escalonador escalonador = new Escalonador(operacoes, tipoDePrevencao);
		
		while (!escalonador.estaVazio()) {
			escalonador.executar();
		}
	}
	
	public static void escreveMenu() {		
		System.out.println("---");
		System.out.println("- WAIT_DIE Prevention: 1");
		System.out.println("- WAIT_FOR_GRAPH Prevention: 2");
		System.out.println("- WOUND_WAIT Prevention: 3");
		
	}
}
